一键下载公众号所有文章,导出文件支持PDF,HTML,Markdown,Excel,chm等格式
苏生不惑第167 篇原创文章,将本公众号设为
星标
,第一时间看最新文章。
关于备份之前写过以下文章:
一键备份微博并导出生成PDF,顺便用Python分析微博账号数据
上面写的备份公众号方法都是单篇备份,如果你想备份某个公众号的所有文章,就有点太麻烦了,所以今天分享的是用Python一键备份某个公众号的所有文章,再也不用担心想看的文章被删了,这里就以我自己的公众号苏生不惑
为例了,原理就是通过抓包抓取微信客户端的接口,用Python请求微信接口获取公众号文章链接再下载。
charles 抓包
常见的抓包工具有Fiddler,charles,这里用的charles,先去官网 https://www.charlesproxy.com/download 下载软件,然后打开微信客户端找到公众号,进入文章列表可以看到发过的文章。
不过charles没安装证书前获取不到https接口数据,显示unknown。
python 抓取公众号文章
上面分析了接口参数和返回数据,开始用Python请求微信接口就是了。
这里只抓取原创文章,我的公众号有160多篇原创,生成HTML文件2分钟就搞定了。
生成的HTML文件还可以转成chm格式,需要先安装软件 Easy CHM,这是一款强大的CHM电子书或CHM帮助文件的快速制作工具 http://www.etextwizard.com/cn/easychm.html
还有含有文章标题和链接的 markdown 文件,关于markdown之前文章介绍过 用 Markdown 来写简历和 PPT。
生成HTML,markdown和Excel都比较快,因为都是文本,下面开始导出PDF。
导出PDF
导出PDF用的工具是wkhtmltopdf ,先到官网https://wkhtmltopdf.org/downloads.html 下载安装 wkhtmltopdf , 安装后设置环境变量,这个之前文章写过 那些你可能不知道的 windows 奇技淫巧,然后直接命令行就能生成PDF。
λ wkhtmltopdf http://www.baidu.com baidu.pdf
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
比如生成百度首页的PDF。pip install pdfkit -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
来安装它。
再次运行程序,PDF文件也生成了。
不过由于生成PDF比较慢,文章多的话key参数会失效,需要重新获取,然后修改next_offset继续抓取。
这样就完美的把我公众号的所有文章下载到本地了,有HTML,PDF,Excel,markdown,chm 格式(在公众号后台回复 公众号
获取我的所有原创文章,如果你有想下载的公众号可以加我微信免费帮忙下载)。
目前有个问题是如果公众号有付费文章,下载的也只能看一部分内容。
还有文章的评论也是有接口获取的,有空再研究下。
大家的点赞和在看转发对我非常重要,如果文章对你有帮助还请支持下, 感谢各位!
公众号后台回复关键词 | 用途 |
---|---|
微信 | 获取你的微信好友头像拼图及查看微信撤回消息 |
b站 | 获取下载b站视频工具及找回被删b站视频方法 |
视频 | 获取下载腾讯,优酷,爱奇艺,微博视频工具及去除logo脚本 |
百度网盘 | 获取加速下载网盘文件方法及查找电影电视剧网站 |
朋友圈 | 获取发空白朋友圈方法 |
微博 | 获取备份微博工具及分析微博账号数据 |
音乐 | 获取下载音乐工具及在线听歌网站 |
油猴 | 获取油猴脚本 |
谷歌 | 获取安装Chrome扩展方法 |
公众号 | 一键下载公众号所有文章 |